package com.zpark.se.string;

import java.util.Random;
import java.util.Scanner;

/**
 * @PackageName: com.zpark.se.string
 * @ClassName: Demo07
 * @Description:
 * @author: RZS
 * @date: 2024/10/21  10:55
 */
public class Demo07 {
    public static void main(String[] args) {
        // 案例：判断用户输入的验证码是否正确
        /*
            a-z：97-122
            A-Z：65-90
         */
        // 生成四位的验证码
        char[] code = new char[4];
        // 循环生成验证码
        for (int i = 0; i < 4; i++) {
            // 随机生成大写或者小写字符
            if (new Random().nextInt(2) == 0) {
                // 生成大写
                code[i] = (char) (new Random().nextInt(26) + 65);
            } else{
                // 生成小写
                code[i] = (char) (new Random().nextInt(26) + 97);
            }
        }
        // 将字符数组转换为字符串
        String codes = new String(code);
        System.out.println("验证码为：" + codes);

        // 让用户输入验证码
        // 创建Scanner对象以读取控制台输入
        Scanner sc = new Scanner(System.in);
        // 提示用户输入验证码
        System.out.println("请输入验证码：");
        // 读取用户输入的字符串
        String input = sc.nextLine();

        // 将用户输入的验证码转换为全部大写，生成的验证码全部转为大写
        codes = codes.toUpperCase();
        input = input.toUpperCase();

        // 检查用户输入的验证码是否与预设的code变量匹配
        if (input.equals(codes)) {
            // 如果匹配，打印验证码正确的消息
            System.out.println("验证码正确");
        } else {
            // 如果不匹配，打印验证码错误的消息
            System.out.println("验证码错误");
        }
    }
}
